﻿using System;
using System.Collections.Generic;
using System.Data;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;

public partial class ChiTietSanPham : System.Web.UI.Page
{
    private string IDtest;
    private string MaSPChung;
    private string q;
    private string XemSP;
    protected void Page_Load(object sender, EventArgs e)
    {

        if (Session["GioHang"] != null)
        {
            Label lblSL = (Label)this.Master.FindControl("lblSL");
            lblSL.Text = Session["TongSL"].ToString();
            Label lblTT = (Label)this.Master.FindControl("lblTongTien");
            lblTT.Text = Session["TongTien"].ToString();
        }
        if (Session["ADMIN"] != null || Session["ID"] != null)
        {
            if (Session["ADMIN"] != null)
            {
                IDtest = Session["ADMIN"].ToString();
            }
            else
            {
                IDtest = Session["ID"].ToString();
            }
            
        }
        for (int j = 0; j < DataList1.Items.Count; j++)
        {
            Label maspchung = (Label)DataList1.Items[j].FindControl("MaSPLabel");
            Label xem = (Label)DataList1.Items[j].FindControl("Xem");
            MaSPChung = maspchung.Text;
            XemSP = xem.Text;

        }
        if (!IsPostBack)
        {

            try
            {
                q = Request.QueryString.Get("q");
                if (q.ToString() == "0")
                {
                    SanphamDTO xemsp = new SanphamDTO();
                    UserDTO xemus = new UserDTO();
                    xemsp.TangXem1 = int.Parse(XemSP.ToString()) + 1;
                    xemsp.MaSP1 = MaSPChung.ToString();
                    xemsp.Ngaydang = DateTime.Now.ToString();   
                    if (Session["ADMIN"] == null && Session["ID"] != null)
                    {
                        xemus.ID1 = IDtest.ToString();
                        if (SanPhamBUS.KiemTraXem(xemsp, xemus) == true)
                        {
                            SanPhamBUS.ThemXemSp(xemsp);
                        }
                        else
                        {
                            SanPhamBUS.ThemXem(xemsp, xemus);
                            SanPhamBUS.ThemXemSp(xemsp);
                        }
                    }
                    else
                    {
                        SanPhamBUS.ThemXemSp(xemsp);
                    }
                }
                }
            
            catch (Exception ex)
            {

            }

        }
        }
    
    protected void CMGui_Click(object sender, EventArgs e)
    {

        SanphamDTO cmsp = new SanphamDTO();
        UserDTO cmus = new UserDTO();
         for (int i = 0; i < DataList1.Items.Count; i++)
        {

            TextBox cm = (TextBox)DataList1.Items[i].FindControl("Coment");
            Label xn = (Label)DataList1.Items[i].FindControl("Xacnhan");
            Label tsp = (Label)DataList1.Items[i].FindControl("TenSPLabel");

           try
            {
                if (cm.Text != "")
                {
                    cmsp.Ngaydang = DateTime.Now.ToString();
                    cmus.ID1 = IDtest.ToString();
                    cmsp.NoiDungCM1 = cm.Text;
                    cmsp.MaSP1 = MaSPChung.ToString();
                    SanPhamBUS.Themcm(cmsp, cmus);
                    Response.Redirect("~/ChiTietSanPham.Aspx?TenSP=" + tsp.Text + "");

                }
      
              else
                {
                    xn.Text = "CM Trống";
                }

            }
           catch(Exception ex)
            {
                xn.Text = "Xin Đăng Nhập ";
            }

        }

    }

    protected void ThemGioHang(object sender, DataListCommandEventArgs e)
    {
        //Lấy control hiển thị số lượng và tổng tiền từ Masterpage
        Label lbl = (Label)this.Master.FindControl("lblSL");
        Label lblTT = (Label)this.Master.FindControl("lblTongTien");
        DataTable dt = new DataTable();
        if (Session["GioHang"] == null)//Kiểm tra giỏ hàng đã tồn tại chưa nếu chưa thì thực hiện
        {
            //tạo datatable chứa giỏ hàng, thêm các cột vào
            dt.Columns.Add("Mã Sản Phẩm");
            dt.Columns.Add("Tên Sản Phẩm");
            dt.Columns.Add("Số Lượng");
            dt.Columns.Add("Đơn Giá");
            dt.Columns.Add("Thành Tiền");
            dt.Rows.Add();
            //Lấy Sản phẩm được chọn gán cho datatable
            dt.Rows[0][0] = DataList1.DataKeys[e.Item.ItemIndex].ToString();//MaSP
            dt.Rows[0][1] = Server.HtmlEncode(((Label)e.Item.FindControl("TenSPLabel")).Text);
            dt.Rows[0][2] = 1;//so luong
            dt.Rows[0][3] = Server.HtmlEncode(((Label)e.Item.FindControl("GiaLabel")).Text);
            dt.Rows[0][4] = Server.HtmlEncode(((Label)e.Item.FindControl("GiaLabel")).Text);
            Session["GioHang"] = dt;//Tao gio hang
            lbl.Text = dt.Rows.Count.ToString();
            Session["TongSL"] = 1;//Session tong so luong
            Session["TongTien"] = Convert.ToDouble(dt.Rows[0][4].ToString());//tao tong tien (session tong tien de khong phai tinh lai tu datatable gio hang)
            lblTT.Text = Session["TongTien"].ToString();
            return;//ket thuc viec tao gio hang
        }
        //gio hang da ton tai, tien hanh them vao gio hang
        //lay gio hang cu
        dt = (DataTable)Session["GioHang"];
        //lay tong tien hien tai(truoc khi them sp nay)
        double dTongTien = Convert.ToDouble(Session["TongTien"].ToString());
        //Lấy mã SP
        string sMaSP = DataList1.DataKeys[e.Item.ItemIndex].ToString();
        //Lặp kiểm tra nếu sản phẩm tồn tại rồi thì cộng dồn số lượng
        for (int i = 0; i < dt.Rows.Count; i++)
        {
            if (dt.Rows[i][0].ToString() == sMaSP)
            {
                int iSoLuong = Convert.ToInt32(dt.Rows[i][2]);
                iSoLuong++;//cộng dồn số lượng
                dt.Rows[i][2] = iSoLuong;
                double iTien = Convert.ToDouble(dt.Rows[i][3]);
                dTongTien = dTongTien + Convert.ToDouble(dt.Rows[i][3]);//Cộng dồn vào tổng tiền giỏ hàng
                iTien = iTien + Convert.ToDouble(dt.Rows[i][3]);
                dt.Rows[i][4] = iTien;//thay đổi thành tiền của sp này khi đã cộng dồn số lượng
                Session["GioHang"] = dt;//gan giỏ hàng mới
                lbl.Text = (Convert.ToInt32(Session["TongSL"]) + 1).ToString();//cộng dồn số lượng
                Session["TongSL"] = lbl.Text;//gán lại SL mới
                Session["TongTien"] = dTongTien;//gán tổng tiền mới
                lblTT.Text = Session["TongTien"].ToString();//hiển thị tổng tiền
                return;
            }
        }
        //Neu san pham chua ton tai thi tien hanh them sp vao gio hang
        dt.Rows.Add();
        dt.Rows[dt.Rows.Count - 1][0] = sMaSP;
        dt.Rows[dt.Rows.Count - 1][1] = Server.HtmlEncode(((Label)e.Item.FindControl("TenSPLabel")).Text);
        dt.Rows[dt.Rows.Count - 1][2] = 1;
        dt.Rows[dt.Rows.Count - 1][3] = Server.HtmlEncode(((Label)e.Item.FindControl("GiaLabel")).Text);
        dt.Rows[dt.Rows.Count - 1][4] = Server.HtmlEncode(((Label)e.Item.FindControl("GiaLabel")).Text);
        dTongTien = dTongTien + Convert.ToDouble(dt.Rows[dt.Rows.Count - 1][4].ToString());//cong don tong tien
        Session["GioHang"] = dt;//gan gio hang moi
        Session["TongTien"] = dTongTien;//gan tong tien moi
        lbl.Text = (Convert.ToInt32(Session["TongSL"]) + 1).ToString();//cộng dồn số lượng
        Session["TongSL"] = lbl.Text;//gán lại SL mới
        lblTT.Text = Session["TongTien"].ToString();
    }
    protected void ImageButton2_Click(object sender, ImageClickEventArgs e)
    {
        SanphamDTO likesp = new SanphamDTO();
        UserDTO likeus = new UserDTO();

        for (int i = 0; i < DataList1.Items.Count; i++)
        {  
                Label thongbaolike = (Label)DataList1.Items[i].FindControl("ThongBaoLike");
                Label like = (Label)DataList1.Items[i].FindControl("LikeLabel");
            try
            {
                likesp.Ngaydang = DateTime.Now.ToString();
                likesp.MaSP1 = MaSPChung.ToString();
                likesp.TangLike1 = int.Parse(like.Text) + 1;
                likeus.ID1 = IDtest.ToString();
                if (Session["ADMIN"] == null && Session["ID"] != null)
                {
                    if (SanPhamBUS.KiemTraLike(likesp, likeus) == true)
                    {
                        thongbaolike.Text = "Đã Like Rùi";
                    }
                    else
                    {
                        SanPhamBUS.ThemLike(likesp, likeus);
                        SanPhamBUS.ThemLikeSp(likesp);
                        thongbaolike.Text = " Đã Like Thành Công , Nhấn vào để cập nhập lại ! ";
                    }
                }
                else
                {
                    thongbaolike.Text = "Admin rồi còn muốn Like hả ! ";
                }
            }
            catch (Exception ex)
            {
                thongbaolike.Text = " Chưa Đăng Nhập";
            }
        }
        
       
    }

}
